import pygame
from plane_sprites import *

pygame.init()

# 创建游戏窗口 480*700
screen = pygame.display.set_mode((480,700))

# 绘制图片背景
# 1、加载图像数据
bg = pygame.image.load("./images/background.png")
# 2、绘制图像 （定位坐标，0,0即左上角）
screen.blit(bg,(0,0))

# 绘制英雄的飞机
# 1、加载图像数据
hreo = pygame.image.load("./images/me1.png")
# 2、绘制图像 （定位坐标x,y,宽,高）
hero_rect = pygame.Rect(200,500,102,126)
screen.blit(hreo,hero_rect)

# 创建时钟对象
clock = pygame.time.Clock()

# # 更新屏幕显示
# pygame.display.update()


# 创建敌机的精灵
enemy = GameSprite("./images/enemy1.png")
enemy2 = GameSprite("./images/enemy1.png",2)

# 创建敌机的精灵组
enemy_group = pygame.sprite.Group(enemy,enemy2)

while True:
    # 可以指定循环体内部代码执行的频率
    clock.tick(60)

    #事件监听,控制飞机左右、退出
    for event in pygame.event.get():
        #退出
        if event.type == pygame.QUIT:
            print('退出游戏...')
            pygame.quit()
            exit()
        if event.type == pygame.KEYUP:
            print(hero_rect.x)
            #左
            if event.key == pygame.K_LEFT:
                if hero_rect.x > 60:
                    hero_rect.x -= 50
            #右
            if event.key == pygame.K_RIGHT:
                if event.key == pygame.K_RIGHT:
                    if hero_rect.x < 350:
                        hero_rect.x += 50
    #2.修改飞机的位置
    hero_rect.y -= 1

    #假设飞机到达顶点，在下面重新来过
    if hero_rect.y <= -hero_rect.height:
        hero_rect.y = screen.get_rect().height

    # #3.调用blit方法绘制图像
    screen.blit(bg, (0, 0))
    screen.blit(hreo,hero_rect)


    enemy_group.update()
    enemy_group.draw(screen)

    #4.调用update方法更新显示
    pygame.display.update()

pygame.quit()